home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
CIncludes
/
MediaHandlers.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-05-01
|
11KB
|
315 lines
/*
File: MediaHandlers.h
Contains: QuickTime Interfaces.
Version: Technology: QuickTime 2.1
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __MEDIAHANDLERS__
#define __MEDIAHANDLERS__
#ifndef __MEMORY__
#include <Memory.h>
#endif
#ifndef __IMAGECOMPRESSION__
#include <ImageCompression.h>
#endif
#ifndef __MOVIES__
#include <Movies.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import on
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=mac68k
#endif
#if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
enum {
handlerHasSpatial = 1 << 0,
handlerCanClip = 1 << 1,
handlerCanMatte = 1 << 2,
handlerCanTransferMode = 1 << 3,
handlerNeedsBuffer = 1 << 4,
handlerNoIdle = 1 << 5,
handlerNoScheduler = 1 << 6,
handlerWantsTime = 1 << 7,
handlerCGrafPortOnly = 1 << 8
};
/* media task flags */
enum {
mMustDraw = 1 << 3,
mAtEnd = 1 << 4,
mPreflightDraw = 1 << 5,
mSyncDrawing = 1 << 6
};
/* media task result flags */
enum {
mDidDraw = 1 << 0,
mNeedsToDraw = 1 << 2,
mDrawAgain = 1 << 3,
mPartialDraw = 1 << 4
};
enum {
forceUpdateRedraw = 1 << 0,
forceUpdateNewBuffer = 1 << 1
};
struct GetMovieCompleteParams {
short version;
Movie theMovie;
Track theTrack;
Media theMedia;
TimeScale movieScale;
TimeScale mediaScale;
TimeValue movieDuration;
TimeValue trackDuration;
TimeValue mediaDuration;
Fixed effectiveRate;
TimeBase timeBase;
short volume;
Fixed width;
Fixed height;
MatrixRecord trackMovieMatrix;
CGrafPtr moviePort;
GDHandle movieGD;
PixMapHandle trackMatte;
QTAtomContainer inputMap;
};
typedef struct GetMovieCompleteParams GetMovieCompleteParams;
enum {
kMediaVideoParamBrightness = 1,
kMediaVideoParamContrast = 2,
kMediaVideoParamHue = 3,
kMediaVideoParamSharpness = 4,
kMediaVideoParamSaturation = 5,
kMediaVideoParamBlackLevel = 6,
kMediaVideoParamWhiteLevel = 7
};
extern pascal ComponentResult MediaInitialize(MediaHandler mh, GetMovieCompleteParams *gmc)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0501, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetHandlerCapabilities(MediaHandler mh, long flags, long flagsMask)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x0502, 0x7000, 0xA82A);
extern pascal ComponentResult MediaIdle(MediaHandler mh, TimeValue atMediaTime, long flagsIn, long *flagsOut, const TimeRecord *movieTime)
FIVEWORDINLINE(0x2F3C, 0x0010, 0x0503, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetMediaInfo(MediaHandler mh, Handle h)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0504, 0x7000, 0xA82A);
extern pascal ComponentResult MediaPutMediaInfo(MediaHandler mh, Handle h)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0505, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetActive(MediaHandler mh, Boolean enableMedia)
FIVEWORDINLINE(0x2F3C, 0x0002, 0x0506, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetRate(MediaHandler mh, Fixed rate)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0507, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGGetStatus(MediaHandler mh, ComponentResult *statusErr)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0508, 0x7000, 0xA82A);
extern pascal ComponentResult MediaTrackEdited(MediaHandler mh)
FIVEWORDINLINE(0x2F3C, 0x0000, 0x0509, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetMediaTimeScale(MediaHandler mh, TimeScale newTimeScale)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x050A, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetMovieTimeScale(MediaHandler mh, TimeScale newTimeScale)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x050B, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetGWorld(MediaHandler mh, CGrafPtr aPort, GDHandle aGD)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x050C, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetDimensions(MediaHandler mh, Fixed width, Fixed height)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x050D, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetClip(MediaHandler mh, RgnHandle theClip)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x050E, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetMatrix(MediaHandler mh, MatrixRecord *trackMovieMatrix)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x050F, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetTrackOpaque(MediaHandler mh, Boolean *trackIsOpaque)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0510, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetGraphicsMode(MediaHandler mh, long mode, const RGBColor *opColor)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x0511, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetGraphicsMode(MediaHandler mh, long *mode, RGBColor *opColor)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x0512, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGSetVolume(MediaHandler mh, short volume)
FIVEWORDINLINE(0x2F3C, 0x0002, 0x0513, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetSoundBalance(MediaHandler mh, short balance)
FIVEWORDINLINE(0x2F3C, 0x0002, 0x0514, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetSoundBalance(MediaHandler mh, short *balance)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0515, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetNextBoundsChange(MediaHandler mh, TimeValue *when)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0516, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetSrcRgn(MediaHandler mh, RgnHandle rgn, TimeValue atMediaTime)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x0517, 0x7000, 0xA82A);
extern pascal ComponentResult MediaPreroll(MediaHandler mh, TimeValue time, Fixed rate)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x0518, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSampleDescriptionChanged(MediaHandler mh, long index)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0519, 0x7000, 0xA82A);
extern pascal ComponentResult MediaHasCharacteristic(MediaHandler mh, OSType characteristic, Boolean *hasIt)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x051A, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetOffscreenBufferSize(MediaHandler mh, Rect *bounds, short depth, CTabHandle ctab)
FIVEWORDINLINE(0x2F3C, 0x000A, 0x051B, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetHints(MediaHandler mh, long hints)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x051C, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetName(MediaHandler mh, Str255 name, long requestedLanguage, long *actualLanguage)
FIVEWORDINLINE(0x2F3C, 0x000C, 0x051D, 0x7000, 0xA82A);
extern pascal ComponentResult MediaForceUpdate(MediaHandler mh, long forceUpdateFlags)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x051E, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetDrawingRgn(MediaHandler mh, RgnHandle *partialRgn)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x051F, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGSetActiveSegment(MediaHandler mh, TimeValue activeStart, TimeValue activeDuration)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x0520, 0x7000, 0xA82A);
extern pascal ComponentResult MediaInvalidateRegion(MediaHandler mh, RgnHandle invalRgn)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0521, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetNextStepTime(MediaHandler mh, short flags, TimeValue mediaTimeIn, TimeValue *mediaTimeOut, Fixed rate)
FIVEWORDINLINE(0x2F3C, 0x000E, 0x0522, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetNonPrimarySourceData(MediaHandler mh, long inputIndex, long dataDescriptionSeed, Handle dataDescription, void *data, long dataSize, ICMCompletionProcRecordPtr asyncCompletionProc, ProcPtr transferProc, void *refCon)
FIVEWORDINLINE(0x2F3C, 0x0020, 0x0523, 0x7000, 0xA82A);
extern pascal ComponentResult MediaChangedNonPrimarySource(MediaHandler mh, long inputIndex)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0524, 0x7000, 0xA82A);
extern pascal ComponentResult MediaTrackReferencesChanged(MediaHandler mh)
FIVEWORDINLINE(0x2F3C, 0x0000, 0x0525, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetSampleDataPointer(MediaHandler mh, long sampleNum, Ptr *dataPtr, long *dataSize, long *sampleDescIndex)
FIVEWORDINLINE(0x2F3C, 0x0010, 0x0526, 0x7000, 0xA82A);
extern pascal ComponentResult MediaReleaseSampleDataPointer(MediaHandler mh, long sampleNum)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0527, 0x7000, 0xA82A);
extern pascal ComponentResult MediaTrackPropertyAtomChanged(MediaHandler mh)
FIVEWORDINLINE(0x2F3C, 0x0000, 0x0528, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetTrackInputMapReference(MediaHandler mh, QTAtomContainer inputMap)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0529, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetGWorlds(MediaHandler mh, CGrafPtr directPort, GDHandle directGD, CGrafPtr offscreenPort, GDHandle offscreenGD)
FIVEWORDINLINE(0x2F3C, 0x0010, 0x052A, 0x7000, 0xA82A);
extern pascal ComponentResult MediaSetVideoParam(MediaHandler mh, long whichParam, unsigned short *value)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x052B, 0x7000, 0xA82A);
extern pascal ComponentResult MediaGetVideoParam(MediaHandler mh, long whichParam, unsigned short *value)
FIVEWORDINLINE(0x2F3C, 0x0008, 0x052C, 0x7000, 0xA82A);
extern pascal ComponentResult MediaCompare(MediaHandler mh, Boolean *isOK, Media srcMedia, ComponentInstance srcMediaComponent)
FIVEWORDINLINE(0x2F3C, 0x000C, 0x052D, 0x7000, 0xA82A);
enum {
kMediaInitializeSelect = 0x0501,
kMediaSetHandlerCapabilitiesSelect = 0x0502,
kMediaIdleSelect = 0x0503,
kMediaGetMediaInfoSelect = 0x0504,
kMediaPutMediaInfoSelect = 0x0505,
kMediaSetActiveSelect = 0x0506,
kMediaSetRateSelect = 0x0507,
kMediaGGetStatusSelect = 0x0508,
kMediaTrackEditedSelect = 0x0509,
kMediaSetMediaTimeScaleSelect = 0x050A,
kMediaSetMovieTimeScaleSelect = 0x050B,
kMediaSetGWorldSelect = 0x050C,
kMediaSetDimensionsSelect = 0x050D,
kMediaSetClipSelect = 0x050E,
kMediaSetMatrixSelect = 0x050F,
kMediaGetTrackOpaqueSelect = 0x0510,
kMediaSetGraphicsModeSelect = 0x0511,
kMediaGetGraphicsModeSelect = 0x0512,
kMediaGSetVolumeSelect = 0x0513,
kMediaSetSoundBalanceSelect = 0x0514,
kMediaGetSoundBalanceSelect = 0x0515,
kMediaGetNextBoundsChangeSelect = 0x0516,
kMediaGetSrcRgnSelect = 0x0517,
kMediaPrerollSelect = 0x0518,
kMediaSampleDescriptionChangedSelect = 0x0519,
kMediaHasCharacteristicSelect = 0x051A,
kMediaGetOffscreenBufferSizeSelect = 0x051B,
kMediaSetHintsSelect = 0x051C,
kMediaGetNameSelect = 0x051D,
kMediaForceUpdateSelect = 0x051E,
kMediaGetDrawingRgnSelect = 0x051F,
kMediaGSetActiveSegmentSelect = 0x0520,
kMediaInvalidateRegionSelect = 0x0521,
kMediaGetNextStepTimeSelect = 0x0522,
kMediaSetNonPrimarySourceDataSelect = 0x0523,
kMediaChangedNonPrimarySourceSelect = 0x0524,
kMediaTrackReferencesChangedSelect = 0x0525,
kMediaGetSampleDataPointerSelect = 0x0526,
kMediaReleaseSampleDataPointerSelect = 0x0527,
kMediaTrackPropertyAtomChangedSelect = 0x0528,
kMediaSetTrackInputMapReferenceSelect = 0x0529,
kMediaSetGWorldsSelect = 0x052A,
kMediaSetVideoParamSelect = 0x052B,
kMediaGetVideoParamSelect = 0x052C,
kMediaCompareSelect = 0x052D
};
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=reset
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import off
#endif
#ifdef __cplusplus
}
#endif
#endif /* __MEDIAHANDLERS__ */